#include "Serial.h"

int fputc(int ch, FILE *f)
{
	HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
	return ch;
}

void debug_printf(const char *fmt, ...)
{   
    va_list args; 
    if(xSemaphoreTake(semDebug,5)==pdFALSE)return;
    va_start(args,fmt); 
    vprintf(fmt,args); 
    va_end(args); 
    xSemaphoreGive(semDebug);   
}



/* 网上抄的safe_printf
//static SemaphoreHandle_t xMutex;

//void init_printf_mutex() {
//	xMutex = xSemaphoreCreateMutex();
//}

//void safe_printf(const char *format, ...)
//{
//	char buffer[128];
//	va_list args;
//	va_start(args, format);
//	vsnprintf(buffer, sizeof(buffer), format, args);
//	va_end(args);

//	if (xSemaphoreTake(xMutex, portMAX_DELAY) == pdTRUE) {
//	printf("%s", buffer);
//	xSemaphoreGive(xMutex);
//	}
//}
*/


